#pragma once

#include "NeroCore\NMacros.h"
#include "NeroCore\NRtti.h"

namespace Engine
{
	class NPlatform;
	class NDevice;
}

namespace Engine
{
class NGraphics : public Core::NRtti
{
	RTTI_DECLARATIONS(NGraphics, Core::NRtti)

public:
	NGraphics(void);
	virtual ~NGraphics(void);
	virtual void Initialize(Engine::NPlatform* owner);
	virtual void Deinitialize();
	virtual void Render();
	virtual void Update(float deltaTime);
	virtual NDevice* GetDevice();
	virtual void ProcessInput();
};
}